package com.bloom.system.service;

import java.util.List;

import com.bloom.common.core.domain.entity.SysUser;
import com.bloom.system.domain.SysAuthUser;
import org.apache.ibatis.annotations.Param;

/**
 * 第三方授权Service接口
 * 
 * @author bloom
 * @date 2021-05-11
 */
public interface ISysAuthUserService 
{
    /**
     * 查询第三方授权
     * 
     * @param authId 第三方授权ID
     * @return 第三方授权
     */
    public SysAuthUser selectSysAuthUserById(Long authId);

    /**
     * 查询第三方授权
     *
     * @param uuid
     * @return 第三方授权
     */
    public SysUser selectAuthUserByUuid(String uuid);

    /**
     * 查询第三方授权列表
     * 
     * @param sysAuthUser 第三方授权
     * @return 第三方授权集合
     */
    public List<SysAuthUser> selectSysAuthUserList(SysAuthUser sysAuthUser);

    /**
     * 新增第三方授权
     * 
     * @param sysAuthUser 第三方授权
     * @return 结果
     */
    public int insertSysAuthUser(SysAuthUser sysAuthUser);

    /**
     * 修改第三方授权
     * 
     * @param sysAuthUser 第三方授权
     * @return 结果
     */
    public int updateSysAuthUser(SysAuthUser sysAuthUser);

    /**
     * 批量删除第三方授权
     * 
     * @param authIds 需要删除的第三方授权ID
     * @return 结果
     */
    public int deleteSysAuthUserByIds(Long[] authIds);

    /**
     * 删除第三方授权信息
     * 
     * @param authId 第三方授权ID
     * @return 结果
     */
    public int deleteSysAuthUserById(Long authId);

    /**
     * 校验source平台是否绑定
     *
     * @param userId 用户编号
     * @param source 绑定平台
     * @return 结果
     */
    public int checkAuthUser(Long userId, String source);
}
